Digital watermarking is a process for modifying physical or electronic media to embed a machine-readable code into the media. The media may be modified such that the embedded code is imperceptible or nearly imperceptible to the user, yet may be detected through an automated detection process. Most commonly, digital watermarking is applied to media signals such as images, audio signals, and video signals. However, it may also be applied to other types of media objects, including documents (e.g., through line, word or character shifting), software, multi-dimensional graphics models, and surface textures of objects.
Digital watermarking systems typically have two primary components: an encoder that embeds the watermark in a host media signal, and a decoder that detects and reads the embedded watermark from a signal suspected of containing a watermark (a suspect signal). The encoder embeds a watermark by altering the host media signal. The reading component analyzes a suspect signal to detect whether a watermark is present. In applications where the watermark encodes information, the reader extracts this information from the detected watermark.
Several particular watermarking techniques have been developed. The reader is presumed to be familiar with the literature in this field. Particular techniques for embedding and detecting imperceptible watermarks in media signals are detailed in the assignee's application Ser. No. 09/503,881 (Now U.S. Pat. No. 6,614,914), U.S. Pat. Nos. 5,862,260, and 6,122,403, which are hereby incorporated by reference.
Some applications require that a vast number of media signals (e.g., images, video or audio files) each be encoded with unique watermark identifiers. Examples of applications include embedding an identifier in media signals to link them to a network resource for metadata linking (e.g., linking content to a unique web site), for forensic tracking of digitally distributed content, for broadcast monitoring, etc. In such applications, there may be several customers, each requiring large batches of identifiers (IDs). As such, there is a need for an accurate and efficient way of assigning IDs.
Such applications can also create a bottleneck in the content creation and distribution workflow due to the processing resources and time needed to embed unique identifiers into many media signals. There is a need, therefore, for automated processes for facilitating batch embedding of identifiers into media content.
Certain applications require watermark embedding and reading operations be performed on large batches of media signals, or large signals. In some cases, for example, the different watermark signals need to be embedded in multiple copies of the same image, video or audio file. In other cases, a watermark signal needs to be replicated throughout a large signal or batch of signals. The processing requirements are particularly demanding in real time applications, where the embedding or reading operation must occur within a time constraint, so that the operation does not unduly hinder the flow of the media signal for signal capture, rendering, transmission or broadcast. As such, there is a demand for digital watermarking methods and system architectures that facilitate rapid embedding and decoding operations.
The invention provides a method of segmenting a media signal for parallel watermarking operations. The method sub-divides the media signal into segments, distributes the segments to parallel processors, and performs parallel digital watermark operations on the segments in the parallel processors. These parallel processors may comprise separate threads of execution on a processing unit, or several execution threads distributed to several processing units.
There are a variety of enhancements to the method. In one enhancement, method prioritizes the segments for watermarking operations. This enables finite processing resources to be allocated to segments in order of their priority. Further, resources are devoted to segments where the digital watermark is more likely to be imperceptible and/or readable.
Another aspect of the invention is a distributed digital watermark embedder. The embedder comprises a watermark signal generator for generating a watermark from a message; a perceptual analyzer for perceptually analyzing a media signal and generating perceptual control parameters used to control application of the watermark to the media signal; and a watermark applicator for receiving the media signal, the watermark and the perceptual control parameters, and for applying the watermark to the media signal according to the perceptual control parameters. The watermark signal generator, the perceptual analyzer and the watermark applicator operate on distributed processors.
Another aspect of the invention is a system for parallel watermark embedding. The system includes a media signal pre-processor operable to receive a media signal and divide the media signal into segments for parallel watermark embedding operations. It also includes a server for distributing the segments to parallel processors for parallel watermark embedding operations.
Further features will become apparent with reference to the following detailed description and accompanying drawings.